# 1 使用 JDK 21 作为基础镜像（Zulu 版本兼容性好）
FROM azul/zulu-openjdk:21
LABEL maintainer="itps.wen" description="SpringBoot fileService - 文件上传服务"

# 2 设置工作目录
WORKDIR /app

# 3 设置语言和时区（东八区）
ENV LANG="C.UTF-8"
ENV TZ="Asia/Shanghai"
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 4 更换 apt 源为阿里云镜像，加速依赖安装
RUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list \
 && sed -i "s/security.ubuntu.com/mirrors.aliyun.com/g" /etc/apt/sources.list \
 && apt update \
 && apt -y install vim curl \
 && apt clean

# 5 拷贝本地构建好的 jar 包到容器中
# 请确保先执行：mvn clean package -DskipTests
COPY fileService-0.0.1-SNAPSHOT.jar /app/fileService.jar

# 6 创建上传目录（与 application.yaml 中 file.upload.dir 对应）
RUN mkdir -p /root/uploads

# 7 暴露应用端口（与 application.yaml 中 server.port 一致）
EXPOSE 8999

# 8 容器启动命令
ENTRYPOINT ["java", "-jar", "/app/fileService.jar"]

# 9 可选优化（JVM 参数）
# ENTRYPOINT ["java", "-Xms256m", "-Xmx512m", "-jar", "/app/fileService.jar"]